// var intersect = function(nums1, nums2) {
//     nums1 = nums1.sort((a, b) => a - b);
//     nums2 = nums2.sort((a, b) => a - b);
//     let l1 = 0;
//     let l2 = 0;
//     const nums1Len = nums1.length;
//     const nums2Len = nums2.length;
//     const ret = [];
//     while(l1 < nums1Len && l2 < nums2Len){
//       if(nums1[l1] === nums2[l2]){
//         ret.push(nums1[l1]);
//         l1++;
//         l2++;
//       }
//       if(nums1[l1] > nums2[l2]) l2++;
//       if(nums1[l1] < nums2[l2]) l1++;
//     }
//     return ret;
//   };


function intersect(num1, num2) {
  num1 = num1.sort((a, b) => a - b);
  num2 = num2.sort((a, b) => a - b);
  let l1 = 0;
  let l2 = 0;
  const nums1Len = num1.length;
  const nums2Len = num2.length;
  const ret = [];
  while (l1 < nums1Len && l2 < nums2Len) {
    if (num1[l1] === num2[l2]) {
      ret.push(num1[l1]);
      l1++;
      l2++;
    }
    // 把小的那一个指针前移动 争取能让两个相等
    if(num1[l1] > num2[l2]) l2++;  
    if(num1[l1] < num2[l2]) l1++;
  }
  return ret;

}